package org.beetl.support;

import java.util.Properties;

/**
 * The Interface Container.
 */
public abstract interface IocContainer {

 /**
  * Inits the.
  *
  * @param params
  *         the params
  */
 public abstract void init(Properties params);

 /**
  * Gets the bean.
  *
  * @param name
  *         the name
  * @return the bean
  */
 public abstract Object getBean(String name);

 /**
  * Gets the bean.
  *
  * @param <T>
  *         the generic type
  * @param clasz
  *         the clasz
  * @return the bean
  */
 public abstract <T> T getBean(Class<T> clasz);

 /**
  * Shutdown.
  */
 public abstract void shutdown();
}